home *** CD-ROM | disk | FTP | other *** search
- /*
- * $VER: ADM.Überweisung_DM.rexx Version 1.0 (01.02.1999) © Frank Seidel
- * geschrieben und getestet für MultitermKit 5.0
- * Achtung - damit die Requester auf dem Multitermscreen geöffnet werden
- * muß der Tooltype "MAKEPUBSCREEN" im Icon eingetragen sein.
- * Das Programm "WBRun" muß sich im Suchpfad befinden.
- */
-
- IF ~SHOW(LIBRARIES,'rexxsupport.library') THEN
- IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN
- EXIT 10
- IF ~SHOW(LIBRARIES,'rexxreqtools.library') THEN
- IF ~ADDLIB('rexxreqtools.library',0,-30,0) THEN
- EXIT 10
-
- IF ~SHOW('PORTS','MultiTerm_Btx',) THEN
- address command 'wbrun >NIL: Multiterm:Multiterm'
-
- OPTIONS RESULTS
- address command 'sys:rexxc/waitforport MultiTerm_Btx' /* wartet bis Multiterm geladen ist */
- ADDRESS 'MultiTerm_Btx'
- loadconfig
- setjnrequest 0 /* unterdrückt den Ja/Nein-Requester*/
-
- /* Setzen der Variablen */
-
- Seite = '@f8'
- EKonto = '@f9'
- PIN = '@f7'
- BLZ = '@k2'
- Konto = '@f4'
- Empf = '@df'
- Euro = ''
- Cent = ''
- DM = '@f2'
- PF = '@f3'
- VZweck1 = '@k5'
- VZweck2 = '@k6'
- TAN = '@f1'
- DELAY(100)
-
- 'existstring' "Überweisung" /* prüfe ob bereits im Bank- */
- if RC=0 then /* Rechner und springe weiter */
- call eingelogt
-
- IF PIN = 'NICHT GESETZT' THEN
- PIN = rtgetstring(,'Bitte Pin für Konto'||'0A'x|| EKonto ||'0A'x||'eingeben','Abfrage','fertig',,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
-
- 'checkonline'
- IF RC > 0 THEN DO
- 'split' 2
- 'mplprint' "Wähle T-Online an."
- DELAY(100)
- 'split' 0
- 'autologin'
- 'checkonline'
- IF RC > 0 THEN DO 30
- 'checkonline'
- IF RC > 0 THEN
- DELAY(100)
- end
- 'checkonline'
- IF RC > 0 THEN do
- 'split' 2
- 'mplprint' "Anwahl fehlgeschlagen - Abbruch"
- DELAY(100)
- 'split' 0
- 'exit'
- end
- end
-
- 'checkonline'
- IF RC = 0 THEN do
- do 600
- DELAY(50)
- 'getcury'
- IF RESULT = "24" THEN BREAK
- END
- DELAY(50)
- end
-
- /********************** ab hier auf andere Banken anpassen *******************************/
-
- 'sendini' /* sendet Stern */
- 'send' Seite /* sendet Seitennummer */
- 'sendter' /* sendet ENTER */
- call waitcur /* warte auf Cursor */
-
- 'send' "1" /* sende "1" */
-
- 'send' EKonto /* sende eigene Kontonummer */
- call waitcur /* warte auf Cursor */
-
- 'send' PIN /* sende Kontopin */
- 'sendter' /* sendet ENTER */
-
- DELAY(50) /* warte 1/2 Sekunde */
-
- 'send' "19" /* sende 19 */
- call waitcur /* warte auf Cursor */
-
- checkER /* überprüft ob Zugang erfolg- */
- IF RC > 0 THEN DO /* reich hergestellt wurde und */
- 'split' 2 /* beendet Skript, wenn dies */
- 'mplprint' "Bankrechner nicht erreichbar - Abbruch." /* nicht der Fall ist. */
- DELAY(300) /* */
- 'split' 0 /* */
- 'exit' /* */
- end /* */
-
- eingelogt: /* Fortsetzung wenn bereits im */
- /* Bankrechner */
- 'send' "3" /* sende 3 */
- call waitcur /* warte auf Cursor */
-
- 'send' BLZ /* sende Bankleitzahl */
- IF LENGTH(BLZ)<8 THEN 'sendter' /* wenn Länge kürzer 8 + ENTER */
- call waitcur /* warte auf Cursor */
-
- 'send' Konto /* sende Kontonummer */
- IF LENGTH(Konto)<10 THEN 'sendter' /* wenn Länge kürzer 10 + ENTER */
- call waitcur /* warte auf Cursor */
-
- 'send' Empf /* sende Empfängername */
- IF LENGTH(Empf)<27 THEN 'sendter' /* wenn Länge kürzer 27 + ENTER */
- call waitcur /* warte auf Cursor */
-
- 'send' Euro /* sende Euro-Betrag */
- IF LENGTH(Euro)<9 THEN 'sendter' /* wenn Länge kürzer 9 + ENTER */
- 'send' Cent /* sende Cent-Betrag */
- IF LENGTH(Cent)<2 THEN 'sendter' /* wenn Länge kürzer 2 + ENTER */
-
- 'send' DM /* sende DM-Betrag */
- IF LENGTH(DM)<9 THEN 'sendter' /* wenn Länge kürzer 9 + ENTER */
- 'send' PF /* sende Pfennig-Betrag */
- IF LENGTH(PF)<2 THEN 'sendter' /* wenn Länge kürzer 2 + ENTER */
-
- 'send' VZweck1 /* sende Verwendungszweck 1 */
- IF LENGTH(VZweck1)<27 THEN 'sendter' /* wenn Länge kürzer 27 + ENTER */
- 'send' VZweck2 /* sende Verwendungszweck 2 */
- IF LENGTH(VZweck2)<27 THEN 'sendter' /* wenn Länge kürzer 27 + ENTER */
- call waitcur /* warte auf Cursor */
-
- 'send' TAN /* sende TAN */
- 'sendter'
- call waitcur
-
- /****************************** bis hier auf andere Banken anpassen ********************************/
- /* eventuelle Änderungen müssen auch bei der Fehlerbehandlung bei falscher TAN vorgenommen werden */
-
- /* 1. TAN-Prüfung */
-
- 'existstring' "ungültig" /* prüfe ob TAN angenommen wurde, Fehlermeldung kann bei anderen Banken anders lauten */
- if RC=5 then call weiter /* wenn nötig - "üngültig" anpassen und in nächstem Abschnitt ebenfalls (2.TAN Prüfung) */
- if RC=0 then do /* bei falscher TAN */
- OPTIONS RESULTS
- call rtezRequest("TAN wurde nicht akzeptiert - bitte neue Tan eingeben","per _Abfragerequester|TAN von _Disk lesen", "Fehler",,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- if RESULT = 1 THEN do
- TAN1 = rtgetstring(,'Bitte neue TAN eingeben','Abfrage','fertig',,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- call neueTan
- end
- if RESULT = 0 THEN do
- OPTIONS RESULTS
- IF ~EXISTS('TAN:TAN.adm') THEN call rtezRequest("kann TAN:TAN.adm nicht finden","_Diskette _eingelegt","Fehler-Hinweis",,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- IF EXISTS('TAN:TAN.adm') THEN
- line4 = OPEN('TANVAR','TAN:TAN.adm','R')
- line4 = READLN('TANVAR')
- TAN1 = line4
- line4 = Close('TANVAR')
- CALL OPEN out,"ram:ED_temp",write
- CALL WRITELN out, 'd'
- CALL WRITELN out, 'x'
- CALL CLOSE out
- cmd = 'c:ed tan:tan.adm WITH RAM:ED_temp'
- address command cmd
- cmd = 'c:protect TAN:tan.adm swedr'
- address command cmd
- cmd = 'run >NIL: c:delete RAM:ED_Temp'
- address command cmd
- call neueTAN
- end
- end
-
- neueTAN:
-
- 'send' TAN1
- 'sendter'
- call waitcur
-
- /* 2. TAN Prüfung - danach folgt ABBRUCH - sonst wird Konto für BTX gesperrt !!! */
-
- 'existstring' "ungültig" /* prüfe ob TAN angenommen wurde */
- if RC=0 then do
- 'split' 2 /* beendet Skript, wenn dies */
- 'mplprint' "TAN wieder falsch - Abbruch." /* wieder der Fall ist. */
- DELAY(300) /* */
- 'split' 0 /* */
- 'exit' /* */
- end
-
-
- /* wenn TAN angenommen gehts hier weiter - eventuell für "erhalten" anderen Bankspezifischen */
- /* String eintragen */
-
- weiter:
- 'existstring' "erhalten" /* <-- "erhalten" wenn nötig ändern - je nach Bank */
- if RC=0 then do
- 'split' 2
- 'mplprint' "Schreibe erledigte Überweisung in Multiterm:Text/Ueberweisungen.txt."
- 'save Ueberweisungen.txt 0 1'
- DELAY(300)
- 'split' 0
- end
-
- 'send' "0"
- call waitcur
-
- DELAY(100)
- IF EXISTS('ENV:2.Ueberweisung') THEN do
- line2 = OPEN('EDIT','ENV:2.Ueberweisung','R')
- line1 = READLN('EDIT')
- IF LENGTH line1 > 1 THEN
- UebWsg2 = SPACE(line1,0)
- line2 = Close('EDIT')
- call rtezRequest('folgende Überweisung steht noch an'||'0A'x|| UebWsg2,'_starten|_Abbruch','Hinweis',,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- if RESULT = 0 THEN 'exit'
- if RESULT = 1 THEN do
- address command 'run >NIL: sys:rexxc/rx s:üwsg/'UebWsg2
- address command 'delete >NIL: ENV:2.Ueberweisung'
- exit
- END
- END
-
- IF EXISTS('ENV:3.Ueberweisung') THEN do
- line2 = OPEN('EDIT','ENV:3.Ueberweisung','R')
- line1 = READLN('EDIT')
- IF LENGTH line1 > 1 THEN
- UebWsg3 = SPACE(line1,0)
- line2 = Close('EDIT')
- call rtezRequest('folgende Überweisung steht noch an'||'0A'x|| UebWsg3,'_starten|_Abbruch','Hinweis',,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- if RESULT = 0 THEN 'exit'
- if RESULT = 1 THEN do
- address command 'run >NIL: sys:rexxc/rx s:üwsg/'UebWsg3
- address command 'delete >NIL: ENV:3.Ueberweisung'
- exit
- END
- END
-
- IF EXISTS('ENV:4.Ueberweisung') THEN do
- line2 = OPEN('EDIT','ENV:4.Ueberweisung','R')
- line1 = READLN('EDIT')
- IF LENGTH line1 > 1 THEN
- UebWsg4 = SPACE(line1,0)
- line2 = Close('EDIT')
- call rtezRequest('folgende Überweisung steht noch an'||'0A'x|| UebWsg4,'_starten|_Abbruch','Hinweis',,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- if RESULT = 0 THEN 'exit'
- if RESULT = 1 THEN do
- address command 'run >NIL: sys:rexxc/rx s:üwsg/'UebWsg4
- address command 'delete >NIL: ENV:4.Ueberweisung'
- exit
- END
- END
-
- IF EXISTS('ENV:5.Ueberweisung') THEN do
- line2 = OPEN('EDIT','ENV:5.Ueberweisung','R')
- line1 = READLN('EDIT')
- IF LENGTH line1 > 1 THEN
- UebWsg5 = SPACE(line1,0)
- line2 = Close('EDIT')
- call rtezRequest('folgende Überweisung steht noch an'||'0A'x|| UebWsg5,'_starten|_Abbruch','Hinweis',,
- 'rt_pubscrname = ''MultiTerm KIT''' 'rt_reqpos = reqpos_centerscr' 'rtez_flags = ezreqf_centertext')
- if RESULT = 0 THEN 'exit'
- if RESULT = 1 THEN do
- address command 'run >NIL: sys:rexxc/rx s:üwsg/'UebWsg5
- address command 'delete >NIL: ENV:5.Ueberweisung'
- exit
- END
- END
-
- 'send' "9"
- call waitcur
- DELAY(500)
- 'logout'
- 'exit'
- exit
-
- /* warte auf Cursor */
- WAITCUR:
- DELAY(50) /* 1/2 Sekunde warten. */
- DO 600
- DELAY(50) /* 1/2 Sekunde warten. */
- 'checkcuron' /* Ist der BTX-Cusor eingeschaltet ? */
- IF RC = 0 THEN RETURN
- END
- RETURN
-
-
-